package cn.tedu.oa_system.service;

import cn.tedu.oa_system.base.json_result.ResultDataDto;
import cn.tedu.oa_system.base.json_result.ResultDto;
import cn.tedu.oa_system.pojo.Role;
import cn.tedu.oa_system.pojo.SysMenu;
import cn.tedu.oa_system.pojo.in.FindLikeKeyIn;
import cn.tedu.oa_system.pojo.in.PageIn;

/**
 * @Author MW
 * @Description 角色
 * @CreateDate 2023/3/5 23:29
 * @Entity:
 */
public interface RoleService {

    /**
     * 增加角色
     */
    ResultDto<Void> addRole(Role role);

    /**
     * 删除角色
     */
    ResultDto<Void> deleteRole(Long roleId);

    /**
     * 修改角色
     */
    ResultDto<Void> updateRole(Role role);

    /**
     * 角色列表模糊查询
     */
    ResultDataDto<Role> findByLikeKey(FindLikeKeyIn likeKeyIn);

    /**
     * 查询角色列表
     */
    ResultDataDto<Role> roleList(PageIn pageIn);

    /**
     * 查询单个角色设定
     */
    ResultDataDto<SysMenu> permissionsList(Long roleId);

}
